package com.topten.beans;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

import com.topten.basicas.comum.Situacao;
import com.topten.basicas.varejo.Estoque;
import com.topten.basicas.varejo.Loja;
import com.topten.negocio.Fachada;
import com.topten.negocio.IFachada;


@ManagedBean
public class EstoqueBean {

	private IFachada fachada = Fachada.getInstancia();
	private Estoque estoque = new Estoque();
	/*private EstoqueDataModel mediumEstoqueModel;*/
	private List<Estoque> estoqueItens;
	private Integer lojaSelecionada;
	private List<Loja> colecaoLoja;
	private String nomeProduto;

/*	public EstoqueBean() {
		colecaoItensEstoque = new ArrayList<Estoque>();
		getColecaoItensEstoque();
		mediumEstoqueModel = new EstoqueDataModel(colecaoItensEstoque);
	}*/
	
	
	public void consultarEstoquePorLojaEProduto(){
		
		
		
	}
		

	public List<Estoque> getColecaoItensEstoque() {
		

		if (this.getLojaSelecionada()==null || this.getLojaSelecionada().equals(null)) {

			estoqueItens = fachada.listarItemEstoque();
			

		}

		else if (this.getNomeProduto()==null || this.getNomeProduto().equals("") || this.getNomeProduto().equals(null)) {
		

			estoqueItens = fachada.consultarEstoquePorLoja(this.getLojaSelecionada());
			
		}
		
		else{
			
			estoqueItens = fachada.consultarEstoquePorProdutoELoja(nomeProduto, lojaSelecionada);
			
		}
		
		return estoqueItens;
		
	  
	   
		
	}
	
	
	public Estoque getEstoque() {
		return estoque;
	}

	public void setEstoque(Estoque estoque) {
		this.estoque = estoque;
	}

	/*public EstoqueDataModel getMediumEstoqueModel() {
		return mediumEstoqueModel;
	}*/

	public Integer getLojaSelecionada() {
		return lojaSelecionada;
	}

	public void setLojaSelecionada(Integer lojaSelecionada) {
		this.lojaSelecionada = lojaSelecionada;
		
	}

	public List<Loja> getColecaoLoja() {
		return this.fachada.listarLojasAtivas(Situacao.ATIVO);
	}

	public void setColecaoLoja(List<Loja> colecaoLoja) {
		this.colecaoLoja = colecaoLoja;
	}

	public String getNomeProduto() {
		return nomeProduto;
	}

	public void setNomeProduto(String nomeProduto) {
		this.nomeProduto = nomeProduto;
	}


	public List<Estoque> getEstoqueItens() {
		return estoqueItens;
	}


	public void setEstoqueItens(List<Estoque> estoqueItens) {
		this.estoqueItens = estoqueItens;
	}
	
}
